package com.example.conf.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author wpdcn
 * @since 2020-10-01
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("shop_advance_deposit_order")
@ApiModel(value="ShopAdvanceDepositOrderEntity对象", description="")
public class ShopAdvanceDepositOrderEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Column(comment = "订单号")
    @TableId(value = "order_no", type = IdType.INPUT)
    @ApiModelProperty(value = "订单号")
    private String orderNo;

    @Column(comment = "会员ID")
    @ApiModelProperty(value = "会员ID")
    private String memberId;

    @Column(comment = "定金预售活动id")
    @ApiModelProperty(value = "定金预售活动id")
    private Long campId;

    @Column(comment = "定金支付开始时间")
    @ApiModelProperty(value = "定金支付开始时间")
    private LocalDateTime depositPayStartTime;

    @Column(comment = "定金支付结束时间")
    @ApiModelProperty(value = "定金支付结束时间")
    private LocalDateTime depositPayEndTime;

    @Column(comment = "尾款支付开始时间")
    @ApiModelProperty(value = "尾款支付开始时间")
    private LocalDateTime balancePayStartTime;

    @Column(comment = "尾款支付结束时间")
    @ApiModelProperty(value = "尾款支付结束时间")
    private LocalDateTime balancePayEndTime;

    @Column(comment = "定金金额")
    @ApiModelProperty(value = "定金金额")
    private Double depositValue;

    @Column(comment = "定金实际抵扣金额")
    @ApiModelProperty(value = "定金实际抵扣金额")
    private Double depositDeduction;

    @Column(comment = "商品id")
    @ApiModelProperty(value = "商品id")
    private Long goodId;

    @Column(comment = "商品skuid")
    @ApiModelProperty(value = "商品skuid")
    private Long skuId;

    @Column(comment = "商品预售价格")
    @ApiModelProperty(value = "商品预售价格")
    private Double advancePrice;

    @Column(comment = "订单状态：1-未支付；2-尾款待支付；3-待发货；4-待收货；5-已完成")
    @ApiModelProperty(value = "订单状态：1-未支付；2-尾款待支付；3-待发货；4-待收货；5-已完成")
    private String status;

    @Column(comment = "支付的总定金")
    @ApiModelProperty("支付的总定金")
    private Double firstTotalPay;

    @Column(comment = "待支付的总余额")
    @ApiModelProperty("待支付的总余额")
    private Double lastTotalPay;

    @Column(comment = "创建时间")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @Column(comment = "余额支付")
    @ApiModelProperty("余额支付")
    private Double balancePay;

    @Column(comment = "定金中需要支付的现金")
    @ApiModelProperty("定金中需要支付的现金")
    private Double moneyPay;

    @Column(comment = "产生的积分")
    @ApiModelProperty("产生的积分")
    private Double generateScore;

    @Column(comment = "定金支付微信流水号")
    @ApiModelProperty("定金支付微信流水号")
    private String firstPayNo;

    @Column(comment = "定金支付时间")
    @ApiModelProperty("定金支付时间")
    private LocalDateTime firstPayTime;

    @Column(comment = "尾款支付微信流水号")
    @ApiModelProperty("尾款支付微信流水号")
    private String lastPayNo;

    @Column(comment = "尾款支付时间")
    @ApiModelProperty("尾款支付时间")
    private LocalDateTime lastPayTime;

    @Column(comment = "尾款支付内部流水号")
    @ApiModelProperty("尾款支付内部流水号")
    private String lastPayTradeNo;

    @Column(comment = "运单号")
    @ApiModelProperty("运单号")
    private String deliveryNo;

    @Column(comment = "修改时间")
    @ApiModelProperty("修改时间")
    private LocalDateTime updateTime;

    @Column(comment = "收货人")
    @ApiModelProperty("收货人")
    private String receiver;

    @Column(comment = "收货人手机号")
    @ApiModelProperty("收货人手机号")
    private String receiverMobile;

    @Column(comment = "收货人地址")
    @ApiModelProperty("收货人地址")
    private String receiverAddress;

}
